<?php if (!defined('BASEPATH')) {
    exit('No direct access allowed.');
}


//
// // 验证码发送功能
// function Auth_Post($curlPost,$url){
// 		$curl = curl_init();
// 		curl_setopt($curl, CURLOPT_URL, $url);
// 		curl_setopt($curl, CURLOPT_HEADER, false);
// 		curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// 		curl_setopt($curl, CURLOPT_NOBODY, true);
// 		curl_setopt($curl, CURLOPT_POST, true);
// 		curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
// 		$return_str = curl_exec($curl);
// 		curl_close($curl);
// 		return $return_str;
// }
//
// function xml_to_array($xml){
// 	$reg = "/<(\w+)[^>]*>([\\x00-\\xFF]*)<\\/\\1>/";
// 	if(preg_match_all($reg, $xml, $matches)){
// 		$count = count($matches[0]);
// 		for($i = 0; $i < $count; $i++){
// 		$subxml= $matches[2][$i];
// 		$key = $matches[1][$i];
// 			if(preg_match( $reg, $subxml )){
// 				$arr[$key] = xml_to_array( $subxml );
// 			}else{
// 				$arr[$key] = $subxml;
// 			}
// 		}
// 	}
// 	return $arr;
// }
function send_sms_msg($code) {
    $sender_status = array(
        0 => '发送中',
        101 => '无此用户,请检查短信服务商提供的账号密码',
        102 => '密码错',
        103 => '提交过快（提交速度超过流速限制）',
        104 => '系统忙（因平台侧原因，暂时无法处理提交的短信）',
        105 => '敏感短信（短信内容包含敏感词）',
        106 => '消息长度错（>536或<=0）',
        107 => '包含错误的手机号码',
        108 => '手机号码个数错（群发>50000或<=0）',
        109 => '无发送额度（该用户可用短信数已使用完）',
        110 => '不在发送时间内(验证码通知7*24小时发送)',
        111 => '超出该账户当月发送额度限制',
        112 => '无此产品，用户没有订购该产品',
        113 => 'extno格式错（非数字或者长度不对）',
        115 => '自动审核驳回',
        116 => '签名不合法，未带签名（用户必须带签名的前提下）',
        117 => 'IP地址认证错,请求调用的IP地址不是系统登记的IP地址',
        118 => '用户没有相应的发送权限',
        119 => '用户已过期',
        120 => '内容不在白名单中',
        'DELIVRD' =>'成功',
        'MBBLACK' =>'黑名单号码',
        'NOROUTE' =>'无通道',
        'ROUTEERR' =>'通道异常',
        'REJECT' =>'审核驳回',
        'DISTURB' =>'手机号码发送次数过多',
        'EMSERR' =>'长短信不完整',
        'SIGNERR' =>'签名错',
        'KEYWORD' =>'敏感词',
        'WHITESMS' =>'短信内容不在白名单中',
        'CMPP20ERR:XXX' => '提交到网关时网关返回了XXX的错误码',
        'SMGPERR:XXX' => '提交到网关时网关返回了XXX的错误码',
        'SGIPERR:XXX' => '提交到网关时网关返回了XXX的错误码',
        '**RESP:XXX' =>'提交到网关时网关返回了XXX的错误码',
        'SY1RESP:-9' =>'扩展码错误 不用填写扩展码',
        'DB:0141' =>'用户处在黑名单中',
        'ID:0103' =>'用户欠费',
        'ID:0102' =>'用户停机',
        'ID:0101' =>'手机号码错误',
        'MX:0013' =>'通道黑名单',
        '601' =>'空号 暂停服务',
        'GL:0000  获取频繁' =>'被拦截了',
        'ERR:104' =>'系统忙',
        'REJECT' =>'审核驳回',
        'SIGFAIL' =>'签名没有报备',
        '其他' =>'网关状态',
        // Status from excel of 移动
        'ACCEPTED' => '短消息已经被最终用户接收。',
        'CA:0051' => '尚未建立连接',
        'CA:0052' => '尚未成功登录',
        'CA:0054' => '超时未接收到响应消息',
        'CA:0054' => '发送消息失败',
        'CA:0111' => 'SCP厂家自定义的错误码',
        'CA:XXXX' => 'SCP不返回响应消息时的状态报告。',
        'CB:0001' => '非神州行预付费用户',
        'CB:0001' => '非神州行预付费用户',
        'CB:0001' => '非神州行预付费用户（用户已经被销号）',
        'CB:0002' => '数据库操作失败',
        'CB:0005' => 'PPS用户状态异常（包括未头次使用、储值卡被封锁、储值卡进入保留期、储值卡挂失）',
        'CB:0005' => 'PPS用户状态异常（包括未头次使用、储值卡被封锁、储值卡进入保留期、储值卡挂失）',
        'CB:0005' => '移动用户帐户数据异常',
        'CB:0007' => '用户余额不足',
        'CB:0007' => '用户余额不足',
        'CB:0007' => '用户余额不足',
        'CB:0016' => '参数错误',
        'CB:0018' => '重复发送消息序列号msgid相同的计费请求消息',
        'CB:0022' => 'SCP互联失败',
        'CB:0047' => '过期用户或者用户不支持梦网业务',
        'CB:0053' => '梦网用户不存在',
        'CB:0053' => '梦网用户不存在',
        'CB' => 'SCP鉴权失败。',
        'CB:XXXX' => 'SCP返回错误响应消息时的状态报告。',
        'DA:0054' => '超时未接收到响应消息',
        'DA:0054' => '出现这个问题是由于网关发送鉴权批价请求到MISC时，MISC不给响应或者网关和MISC连接阻塞引起；',
        'DA:XXXX' => 'DSMP不返回响应消息时的状态报告。',
        'DB:0100' => '手机号码不存在',
        'DB:0101' => '手机号码错误',
        'DB:0101' => '手机号码错误',
        'DB:0102' => '用户停机',
        'DB:0102' => '用户停机',
        'DB:0103' => '用户欠费',
        'DB:0104' => '用户没有使用该业务的权限',
        'DB:0105' => '行业网关中没有找到此客户的企业信息，需要BOSS系统进行更新同步！',
        'DB:0105' => '业务代码错误',
        'DB:0106' => '服务代码错误',
        'DB:0107' => '业务不存在',
        'DB:0107' => '业务不存在',
        'DB:0107' => '业务不存在',
        'DB:0108' => '是MAS欠费',
        'DB:0108' => '该业务暂停服务',
        'DB:0109' => '该服务种类不存在',
        'DB:0110' => '该服务种类尚未开通',
        'DB:0111' => '该业务尚未开通',
        'DB:0112' => 'SP代码错误',
        'DB:0113' => '鉴权未通过，客户数据还没有跟BOSS系统同步造成',
        'DB:0113' => 'SP不存在',
        'DB:0114' => '是暂停服务，通常为客户合同到期',
        'DB:0114' => 'SP暂停服务',
        'DB:0115' => '用户没有订购该业务',
        'DB:0115' => '用户没有定购该业务',
        'DB:0116' => '用户暂停订购该业务',
        'DB:0116' => '用户暂停定购该业务',
        'DB:0117' => '该业务不能对该用户开放',
        'DB:0118' => '用户已经订购了该业务',
        'DB:0119' => '用户不能取消该业务',
        'DB:0120' => '话单格式错误',
        'DB:0121' => '没有该类业务',
        'DB:0122' => '接收异常',
        'DB:0122' => '接收异常',
        'DB:0123' => '业务价格为负',
        'DB:0124' => '业务价格格式错误',
        'DB:0125' => '业务价格超出范围',
        'DB:0126' => '该用户不是神州行用户',
        'DB:0127' => '该用户没有足够的余额',
        'DB:0128' => '补款,冲正失败',
        'DB:0129' => '用户已经是梦网用户',
        'DB:0130' => '用户在BOSS中没有相关用户数据',
        'DB:0131' => 'BOSS系统数据同步出错',
        'DB:0132' => '相关信息不存在',
        'DB:0133' => '用户数据同步出错',
        'DB:0134' => 'SP数据同步出错',
        'DB:0135' => '业务数据同步出错',
        'DB:0136' => '用户密码错误',
        'DB:0137' => '伪码信息错误',
        'DB:0138' => '用户相关信息不存在',
        'DB:0140' => '黑白名单因素造成',
        'DB:0141' => '黑名单',
        'DB:0140' => '用户未点播该业务',
        'DB:9001' => '网络异常',
        'DB:9001' => '网络异常',
        'DB:9007' => '业务网关超过限制的流量',
        'DB:9007' => '业务网关超过限制的流量',
        'DB:XXXX' => 'DSMP返回错误响应消息时的状态报告。',
        'DELETED' => '短消息已经被删除。',
        'EXPIRED' => '因为用户长时间关机或者不在服务区等导致的短消息超时没有递交到用户手机上、超时、不处理',
        'IA:XXXX' => '下一级ISMG不返回响应消息时的状态报告。',
        'IB:0008' => '流量控制错',
        'IB:0009' => '前转判断错误',
        'IB:0070' => '网络断连或者目的设备关闭端口',
        'IB:0100' => '移动内部错误',
        'IB:0113' => '移动内部错误',
        'IB:0255' => '移动内部错误',
        'IB:XXXX' => '下一级ISMG返回错误响应消息时的状态报告。',
        'IB' => '前转网关返回的错误响应消息。',
        'IC:0154' => '移动内部错误',
        'IC:XXXX' => '没有从下一级ISMG收到状态报告时的状态报告。',
        'ID:0012' => '是计费地址错误(外省号码，发送失败）',
        'ID:0013' => '异网（电信和联通）号码，发送失败）',
        'ID:0020' => 'SPACE用户鉴权模块：鉴权用户停机或欠费错误。',
        'ID:0021' => 'SPACE用户鉴权模块：用户销户错误。',
        'ID:0063' => '资费代码错误',
        'ID:XXXX' => 'infoX-SMS',
        'ID' => '等待应答超时。',
        'MA:0022' => '频繁获取被拦截',
        'MA:0051' => '尚未建立连接',
        'MA:0054' => '超时未接收到响应消息',
        'MA:0191' => 'SMSC厂家自定义的错误码',
        'MA:XXXX' => 'SMSC不返回响应消息时的状态报告。',
        'MB:0001' => 'Submit包里面的短信内容的长度和短信内容的真实长度不符（比如，短信内容后面有空的字符串）',
        'MB:0019' => '移动内部错误',
        'MB:0020' => '无效的SYSTEMID',
        'MB:0065' => '目的地址错误',
        'MB:0066' => '无效的定时时间',
        'MB:0066' => '短信中心回的，超作最大发送次数、可能是手机满了。',
        'MB:0070' => '移动内部错误',
        'MB:0077' => '移动内部错误',
        'MB:0088' => '移动内部错误',
        'MB:0145' => 'SMSC厂家自定义的错误码',
        'MB:0147' => 'SMSC厂家自定义的错误码',
        'MB:0192' => 'SMSC厂家自定义的错误码',
        'MB:0193' => 'SMSC厂家自定义的错误码',
        'MB:0241' => 'SMSC厂家自定义的错误码',
        'MB:0244' => 'SMSC厂家自定义的错误码',
        'MB:0250' => 'SMSC厂家自定义的错误码',
        'MB:1042' => '被叫用户因关机、内存满，暂时无法接收短信',
        'MB:4024' => '移动内部错误',
        'MB:4025' => '移动内部错误',
        'MB:XXXX' => 'SMSC返回错误响应消息时的状态报告。',
        'MB' => '短信中心返回错误响应。',
        'MC:0015' => '移动内部错误',
        'MC:0021' => '移动内部错误',
        'MC:0055' => '移动内部错误',
        'MC:0151' => '移动内部错误',
        'MC:0199' => '移动内部错误',
        'MC:XXXX' => '没有从SMSC接收到状态报告时的状态报告。',
        'MC:xxxx' => '系统未从短信中心接收到状态报告',
        'MC:xxxx' => '没有从SMSC处接收到状态报告时的状态报告',
        'MH:0000' => '移动内部错误',
        'MH:zzzz' => '其它值。',
        'MI::zzzz' => 'SMSC返回状态报告的状态值为EXPIRED。',
        'MI:0000' => '移动内部错误',
        'MI:0008' => '移动内部错误',
        'MI:0010' => '被叫用户因关机、内存满，暂时无法接收短信',
        'MI:0013' => '移动内部错误',
        'MI:0017' => '被叫手机内存满',
        'MI:0022' => '移动内部错误',
        'MI:0024' => '被叫手机关机',
        'MI:0024' => '移动内部错误',
        'MI:0029' => '移动内部错误',
        'MI:0036' => '移动内部错误',
        'MI:0045' => '移动内部错误',
        'MI:0057' => '移动内部错误',
        'MI:0255' => '移动内部错误',
        'MI:xxxx' => '同“EXPIRED”',
        'MJ:0000' => '移动内部错误',
        'MJ:zzzz' => 'SMSC返回状态报告的状态值为DELETED。',
        'MK:0000' => '无错误',
        'MK:0001' => '号码未分配,确认是否为空号',
        'MK:0004' => '被叫用户无短信功能，一般为欠费停机导致',
        'MK:0005' => '被叫用户无短信功能，一般为欠费停机导致',
        'MK:0008' => '移动内部错误',
        'MK:0009' => '非法用户',
        'MK:0010' => '被叫用户因关机、内存满，暂时无法接收短信',
        'MK:0011' => '用户未申请短信业务',
        'MK:0013' => '禁止呼叫',
        'MK:0015' => '被叫手机终端故障导致接收短信失败',
        'MK:0015' => '可能是手机满了。',
        'MK:0017' => '被叫手机内存满',
        'MK:0019' => '接收端手机不支持短信服务',
        'MK:0020' => '接收端手机错误',
        'MK:0021' => '接收方网路不支持短信',
        'MK:0022' => '接收端手机存储器满',
        'MK:0024' => '被叫手机关机',
        'MK:0029' => '用户当前不在网络',
        'MK:0030' => '接收端手机忙',
        'MK:0036' => '网络错误',
        'MK:0044' => '设备IMEI属于EIR的黑名单',
        'MK:0053' => '移动内部错误',
        'MK:0057' => '移动内部错误',
        'MK:0060' => '用户不在服务区',
        'MK:0061' => 'GMSC拥塞',
        'MK:0063' => '查询超时',
        'MK:0064' => 'MSC/SGSN超时',
        'MK:0072' => 'MT拥塞',
        'MK:0080' => '用户不在服务区',
        'MK:0081' => '用户关机',
        'MK:0082' => '限制漫游',
        'MK:0083' => '在HLR中未找到MSC号码',
        'MK:0089' => 'MSC无用户信息',
        'MK:0101' => '系统拥塞',
        'MK:0104' => '错误的SME地址',
        'MK:0112' => '发送方欠费',
        'MK:0113' => '接收方欠费',
        'MK:0114' => '预付费系统错误',
        'MK:0115' => '信息安全鉴权失败',
        'MK:0116' => '消息被过滤',
        'MK:0121' => '待发队列满',
        'MK:0122' => '超过License限制',
        'MK:0129' => 'Relay操作失败',
        'MK:0150' => '消息过期',
        'MK:0152' => '无法匹配原消息',
        'MK:0153' => '某网络设备认为数据错误',
        'MK:0154' => '系统资源短缺',
        'MK:0155' => '目的地不可达',
        'MK:0156' => '消息鉴权失败',
        'MK:0157' => '其他网络或终端无应答',
        'MK:0158' => '网络链接临时错误',
        'MK:0200' => '短信被DCS过滤',
        'MK:0253' => '其他永久性错误',
        'MK:0254' => '其他临时性错误',
        'MK:0255' => '未知错误',
        'MK:xxxx' => '同UNDELIV',
        'MK:zzzz' => 'SMSC返回状态报告的状态值为UNDELIV。',
        'MK' => '短信中心返回的状态报告值，短信状态为UNDELIV.',
        'ML:zzzz' => 'SMSC返回状态报告的状态值为ACCEPTD。',
        'MM:zzzz' => 'SMSC返回状态报告的状态值为UNKNOWN。',
        'MN:xxxx' => '同“REJECTD”',
        'MN:zzzz' => 'SMSC返回状态报告的状态值为REJECTD。',
        'NOROUTE' => '查找路由失败。',
        'REJECTD' => '消息因为某些原因被拒绝',
        'REJECTED' => '短消息被拒绝。',
        'SA:XXXX' => 'SP不返回响应消息时的状态报告。',
        'SB:XXXX' => 'SP返回错误响应消息时的状态报告。',
        'UNDELIV' => '全球通用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信',
        'UNKNOWN' => '未知的短消息状态。',
        // Status from excel of 联通
        'CU0' => '无错误，命令正确接收',
        'CU1' => '非法登陆，如登陆名、口令出错、登录名与口令不符等',
        'CU2' => '重复登录',
        'CU3' => '连接过多，指单个节点要求同时建立的连接数过多。',
        'CU4' => '登录类型错，指bind命令中的logintype字段出错',
        'CU5' => '参数格式错，指命令中参数值与参数类型不符或与协议规定的范围不符',
        'CU6' => '非法手机号码',
        'CU7' => '消息id错',
        'CU8' => '信息长度错',
        'CU9' => '非法序列号，包括序列号重复、序列号格式错误等（手机内存满）',
        'CU10' => '无法接通',
        'CU11' => '节点忙',
        'CU12' => '空号',
        'CU21' => '目的地址不可达，指路由表存在路由且消息路由正确单被路由节点暂时不能提供服务的情况',
        'CU24' => '计费号码无效（暂停使用）',
        'CU25' => '用户不能通信（如不在服务区，未开机等情况）',
        'CU26' => '手机内存不足',
        'CU27' => '手机不支持短信息',
        'CU28' => '手机接收短信出现错误',
        'CU29' => '不知道的用户',
        'CU30' => '不能提供此功能',
        'CU31' => '非法设备',
        'CU32' => '系统失败',
        'CU50' => '短信内容非法',
        'CU56' => '空号停机',
        'CU61' => '不再使用中',
        'CU67' => '联通黑名单',
        'CU86' => '联通黑名单',
        'CU101' => '非法手机号码',
        'CU102' => '停机欠费',
        'CU104' => '空号',
        'CU168' => '空号停机',
        'CU221' => '黑名单用户',
        'CU255' => '停机、空号、关机、暂停使用等',
    );
    return $sender_status[$code];

}
// # TODO: 发送失败处理
function send_authcode($phone, $send_code="", $ctype="")
{
    // post 方式
    $target = "http://120.26.69.248/msg/HttpSendSM";

    if (empty($send_code)) {
        $send_code = mt_rand(100000, 999999);
    }

    $send_code_return = array();

    if (empty($phone)) {
        $send_code_return['status'] = -1;
        exit('手机号码不能为空');
    }
    if($ctype==2) {
        $msg = SMS_PREFIX."验证码${send_code}用于密码找回，工作人员不会向您索要验证码，如非本人操作请忽略。".SMS_SUFFIX;
        $post_data = "account=".SMS_ACCOUNT."&pswd=".SMS_PWD."&mobile=".$phone."&msg=".rawurlencode($msg);
    } elseif($ctype==1) {
        $msg = SMS_PREFIX."注册验证码：${send_code}，如非本人操作请忽略。".SMS_SUFFIX;
        $post_data = "account=".SMS_ACCOUNT."&pswd=".SMS_PWD."&mobile=".$phone."&msg=".rawurlencode($msg);
    } elseif($ctype==3) {
        $msg = SMS_PREFIX."您的账户审核未通过，请重新注册。".SMS_SUFFIX;
        $post_data = "account=".SMS_ACCOUNT."&pswd=".SMS_PWD."&mobile=".$phone."&msg=".rawurlencode($msg);
    } elseif($ctype==4) {
        $msg = SMS_PREFIX."尊敬的用户：您的身份变更申请已通过审核，您的账户可正常使用。".SMS_SUFFIX;
        $post_data = "account=".SMS_ACCOUNT."&pswd=".SMS_PWD."&mobile=".$phone."&msg=".rawurlencode($msg);
    } elseif($ctype==6) {
        $msg = SMS_PREFIX."尊敬的用户：您的帐号已通过审核，您的账户可正常使用。".SMS_SUFFIX;
        $post_data = "account=".SMS_ACCOUNT."&pswd=".SMS_PWD."&mobile=".$phone."&msg=".rawurlencode($msg);
    } elseif($ctype==5) {
        $msg = SMS_PREFIX."尊敬的用户：很抱歉您的身份变更申请未通过审核，请重新提交申请，客服电话15168205834。".SMS_SUFFIX;
        $post_data = "account=".SMS_ACCOUNT."&pswd=".SMS_PWD."&mobile=".$phone."&msg=".rawurlencode($msg);
    } else {
        $msg = SMS_PREFIX."注册验证码：${send_code}，如非本人操作请忽略。".SMS_SUFFIX;
        $post_data = "account=".SMS_ACCOUNT."&pswd=".SMS_PWD."&mobile=".$phone."&msg=".rawurlencode($msg);
    }

    $url = $target.'?'.$post_data;
    $gets = file_get_contents($url);
    $gets = explode(',', $gets);
    // if($gets[1]==0){
    $send_code_return['code'] = $gets[1];
    $send_code_return['msg'] = send_sms_msg($gets[1]);
    $send_code_return['phone'] = $phone;
    $send_code_return['auth_code'] = $send_code;
    // }
    $CI =& get_instance();
    $CI->load->model('sms_log_model');
    $sms_log_data = array(
        'phone'=> $phone,
        'ip'=> get_ip(),
        'content'=> $msg,
        'status'=> $gets[1],
        'code'=> $send_code,
        'msg'=> $send_code_return['msg'],
        'time'=> $gets[0],
    );
    $CI->sms_log_model->create($sms_log_data);


    logfile(compact('send_code_return', 'gets'), 'SMS_send_authcode_');
    return $send_code_return;
}
if (! function_exists('get_ip')) {
    /**
     * Get IP 获得IP地址
     *
     * @access	protected
     * @return	string
     */
    function get_ip()
    {
        $cip = (isset($_SERVER['HTTP_CLIENT_IP']) AND $_SERVER['HTTP_CLIENT_IP'] != "") ? $_SERVER['HTTP_CLIENT_IP'] : FALSE;
        $rip = (isset($_SERVER['REMOTE_ADDR']) AND $_SERVER['REMOTE_ADDR'] != "") ? $_SERVER['REMOTE_ADDR'] : FALSE;
        $fip = (isset($_SERVER['HTTP_X_FORWARDED_FOR']) AND $_SERVER['HTTP_X_FORWARDED_FOR'] != "") ? $_SERVER['HTTP_X_FORWARDED_FOR'] : FALSE;

        if ($cip && $rip)	$IP = $cip;
        elseif ($rip)		$IP = $rip;
        elseif ($cip)		$IP = $cip;
        elseif ($fip)		$IP = $fip;

        if (strpos($IP, ',') !== FALSE)
        {
            $x = explode(',', $IP);
            $IP = end($x);
        }

        if ( ! preg_match( "/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/", $IP))
        {
            $IP = '0.0.0.0';
        }

        unset($cip);
        unset($rip);
        unset($fip);

        return $IP;
    }
}

// 4额度查询接口
function sms_get_balance()
{
    // post 方式
    $target = "http://120.26.69.248/msg/QueryBalance";
    $post_data = "account=".SMS_ACCOUNT."&pswd=".SMS_PWD;

    $url = $target.'?'.$post_data;
    $gets = file_get_contents($url);
    $gets = explode(',', $gets);
    return $gets;
}

//
// # TODO: 发送失败处理
// function send_msg($phone, $content="") {
// 	// post 方式
// 	$target = "http://120.26.69.248/msg/HttpSendSM";
//
// 	$send_return = array();
//
// 	if (empty($content)) {
// 		exit('发送内容不能为空');
// 	}
//
// 	if(empty($phone)){
// 		exit('手机号码不能为空');
// 	}
//
// 	$post_data = "account=".SMS_ACCOUNT."&pswd=".SMS_PWD."&mobile=".$phone."&msg=".rawurlencode(SMS_PREFIX.$content);
//
// 	// $gets =  xml_to_array(Auth_Post($post_data, $target));
//
// 	if (ENVIRONMENT == "nodevelopment") {
// 		$send_return['code'] = 0;
// 		$send_return['msg'] = '验证码已经发送，请注意接收(Development)!';
// 		$send_return['phone'] = $phone;
// 		$send_return['auth_code'] = $content;
// 	} else {
// 		$url = $target.'?'.$post_data;
// 		$gets = file_get_contents($url);
// 		$gets = explode(',', $gets);
//
// 		// if($gets[1]==0) {
// 		// 	$send_return['code'] = $gets[1];
// 		// 	$send_return['msg'] = lang('sms_'.$gets[1]);
// 		// 	$send_return['phone'] = $phone;
// 		// 	$send_return['auth_code'] = $content;
// 		// } else {
// 		// 	$send_return['code'] = $gets[1];
// 		// 	$send_return['msg'] = lang('sms_'.$gets[1]);
// 		// 	$send_return['phone'] = $phone;
// 		// 	$send_return['auth_code'] = $content;
// 		// }
// 		$send_code_return['code'] = $gets[1];
// 		$send_code_return['msg'] = lang('sms_'.$gets[1]);
// 		$send_code_return['phone'] = $phone;
// 		$send_code_return['auth_code'] = $content;
//
// 	}
// 	logfile(compact('send_code_return', 'gets'), 'SMS_send_msg_');
// 	return $send_code_return;
// }
//
//
// if (!function_exists('del_authcode')) {
// // 获取用户等级
// 	/**
// 	 * @param $id 用户ID
// 	 * @param $type_id 用户类型
// 	 */
// 	function del_authcode($authcode) {
// 		$CI =& get_instance();
// 		if (!isset($CI->mcodetmp)) { $CI->load->model('codetmp_model','mcodetmp'); }
//
// 		$list = $CI->mcodetmp->get_all(array('code'=>$authcode), 'id');
//
// 		$list_ids = array();
//
// 		foreach ($list as $k => $v) {
// 			array_push($list_ids, $v['id']);
// 		}
//
// 		$CI->mcodetmp->del($list_ids);
// 	}
// }
;
